-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(helm): update chart cert-manager to v1.17.1 #180
base: main
Are you sure you want to change the base?
Conversation
Path: @@ -837,9 +837,11 @@
serviceAccountName: cert-manager-cainjector
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.10.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +853,9 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux
---
@@ -889,9 +894,11 @@
serviceAccountName: cert-manager
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.10.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -905,6 +912,9 @@
protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -949,20 +959,27 @@
serviceAccountName: cert-manager-webhook
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.10.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1002,9 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -1180,9 +1200,11 @@
serviceAccountName: cert-manager-startupapicheck
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-ctl:v1.10.0"
imagePullPolicy: IfNotPresent
args:
- check
@@ -1190,5 +1212,8 @@
- --wait=1m
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux |
🦙 MegaLinter status: ✅ SUCCESS
See detailed report in MegaLinter reports |
9e03c9d
to
d005060
Compare
Path: @@ -837,9 +837,11 @@
serviceAccountName: cert-manager-cainjector
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.10.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +853,9 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux
---
@@ -889,9 +894,11 @@
serviceAccountName: cert-manager
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.10.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -905,6 +912,9 @@
protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -949,20 +959,27 @@
serviceAccountName: cert-manager-webhook
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.10.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1002,9 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -1180,9 +1200,11 @@
serviceAccountName: cert-manager-startupapicheck
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-ctl:v1.10.1"
imagePullPolicy: IfNotPresent
args:
- check
@@ -1190,5 +1212,8 @@
- --wait=1m
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux |
d005060
to
114bdd7
Compare
Path: @@ -52,6 +52,7 @@
app.kubernetes.io/name: webhook
app.kubernetes.io/instance: cert-manager
app.kubernetes.io/component: "webhook"
+ app.kubernetes.io/managed-by: Helm
data:
---
# Source: cert-manager/templates/cainjector-rbac.yaml
@@ -837,9 +838,11 @@
serviceAccountName: cert-manager-cainjector
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.11.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +854,9 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux
---
@@ -889,22 +895,29 @@
serviceAccountName: cert-manager
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.11.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.11.0
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -949,20 +962,27 @@
serviceAccountName: cert-manager-webhook
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.11.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1005,9 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -1180,9 +1203,11 @@
serviceAccountName: cert-manager-startupapicheck
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-ctl:v1.11.0"
imagePullPolicy: IfNotPresent
args:
- check
@@ -1190,5 +1215,8 @@
- --wait=1m
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux |
114bdd7
to
d5427fb
Compare
Path: @@ -52,6 +52,7 @@
app.kubernetes.io/name: webhook
app.kubernetes.io/instance: cert-manager
app.kubernetes.io/component: "webhook"
+ app.kubernetes.io/managed-by: Helm
data:
---
# Source: cert-manager/templates/cainjector-rbac.yaml
@@ -837,9 +838,11 @@
serviceAccountName: cert-manager-cainjector
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.11.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +854,9 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux
---
@@ -889,22 +895,29 @@
serviceAccountName: cert-manager
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.11.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.11.1
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -949,20 +962,27 @@
serviceAccountName: cert-manager-webhook
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.11.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1005,9 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -1180,9 +1203,11 @@
serviceAccountName: cert-manager-startupapicheck
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-ctl:v1.11.1"
imagePullPolicy: IfNotPresent
args:
- check
@@ -1190,5 +1215,8 @@
- --wait=1m
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux |
d5427fb
to
e1ad396
Compare
Path: @@ -52,6 +52,7 @@
app.kubernetes.io/name: webhook
app.kubernetes.io/instance: cert-manager
app.kubernetes.io/component: "webhook"
+ app.kubernetes.io/managed-by: Helm
data:
---
# Source: cert-manager/templates/cainjector-rbac.yaml
@@ -837,9 +838,11 @@
serviceAccountName: cert-manager-cainjector
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.11.2"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +854,9 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux
---
@@ -889,22 +895,29 @@
serviceAccountName: cert-manager
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.11.2"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.11.2
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -949,20 +962,27 @@
serviceAccountName: cert-manager-webhook
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.11.2"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1005,9 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -1180,9 +1203,11 @@
serviceAccountName: cert-manager-startupapicheck
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-ctl:v1.11.2"
imagePullPolicy: IfNotPresent
args:
- check
@@ -1190,5 +1215,8 @@
- --wait=1m
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux |
e1ad396
to
4e97806
Compare
Path: @@ -52,6 +52,7 @@
app.kubernetes.io/name: webhook
app.kubernetes.io/instance: cert-manager
app.kubernetes.io/component: "webhook"
+ app.kubernetes.io/managed-by: Helm
data:
---
# Source: cert-manager/templates/cainjector-rbac.yaml
@@ -77,13 +78,13 @@
verbs: ["get", "create", "update", "patch"]
- apiGroups: ["admissionregistration.k8s.io"]
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiregistration.k8s.io"]
resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
---
# Source: cert-manager/templates/rbac.yaml
# Issuer controller role
@@ -837,9 +838,11 @@
serviceAccountName: cert-manager-cainjector
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.12.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +854,9 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux
---
@@ -889,22 +895,32 @@
serviceAccountName: cert-manager
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.12.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.12.0
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
+ - containerPort: 9403
+ name: http-healthz
+ protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -949,20 +965,27 @@
serviceAccountName: cert-manager-webhook
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.12.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1008,9 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -1180,9 +1206,11 @@
serviceAccountName: cert-manager-startupapicheck
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-ctl:v1.12.0"
imagePullPolicy: IfNotPresent
args:
- check
@@ -1190,5 +1218,8 @@
- --wait=1m
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux |
4e97806
to
ee1a6c3
Compare
Path: @@ -52,6 +52,7 @@
app.kubernetes.io/name: webhook
app.kubernetes.io/instance: cert-manager
app.kubernetes.io/component: "webhook"
+ app.kubernetes.io/managed-by: Helm
data:
---
# Source: cert-manager/templates/cainjector-rbac.yaml
@@ -77,13 +78,13 @@
verbs: ["get", "create", "update", "patch"]
- apiGroups: ["admissionregistration.k8s.io"]
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiregistration.k8s.io"]
resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
---
# Source: cert-manager/templates/rbac.yaml
# Issuer controller role
@@ -837,9 +838,11 @@
serviceAccountName: cert-manager-cainjector
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.12.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +854,9 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux
---
@@ -889,22 +895,32 @@
serviceAccountName: cert-manager
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.12.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.12.1
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
+ - containerPort: 9403
+ name: http-healthz
+ protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -949,20 +965,27 @@
serviceAccountName: cert-manager-webhook
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.12.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1008,9 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -1180,9 +1206,11 @@
serviceAccountName: cert-manager-startupapicheck
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-ctl:v1.12.1"
imagePullPolicy: IfNotPresent
args:
- check
@@ -1190,5 +1218,8 @@
- --wait=1m
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux |
ee1a6c3
to
f48fd58
Compare
Path: @@ -52,6 +52,7 @@
app.kubernetes.io/name: webhook
app.kubernetes.io/instance: cert-manager
app.kubernetes.io/component: "webhook"
+ app.kubernetes.io/managed-by: Helm
data:
---
# Source: cert-manager/templates/cainjector-rbac.yaml
@@ -77,13 +78,13 @@
verbs: ["get", "create", "update", "patch"]
- apiGroups: ["admissionregistration.k8s.io"]
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiregistration.k8s.io"]
resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
---
# Source: cert-manager/templates/rbac.yaml
# Issuer controller role
@@ -837,9 +838,11 @@
serviceAccountName: cert-manager-cainjector
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.12.2"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +854,9 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux
---
@@ -889,22 +895,32 @@
serviceAccountName: cert-manager
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.12.2"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.12.2
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
+ - containerPort: 9403
+ name: http-healthz
+ protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -949,20 +965,27 @@
serviceAccountName: cert-manager-webhook
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.12.2"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1008,9 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
env:
- name: POD_NAMESPACE
valueFrom:
@@ -1180,9 +1206,11 @@
serviceAccountName: cert-manager-startupapicheck
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-ctl:v1.12.2"
imagePullPolicy: IfNotPresent
args:
- check
@@ -1190,5 +1218,8 @@
- --wait=1m
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
nodeSelector:
kubernetes.io/os: linux |
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
Path: @@ -41,19 +41,6 @@
app.kubernetes.io/component: "webhook"
app.kubernetes.io/managed-by: Helm
---
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
# Source: cert-manager/templates/cainjector-rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
@@ -77,13 +64,13 @@
verbs: ["get", "create", "update", "patch"]
- apiGroups: ["admissionregistration.k8s.io"]
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiregistration.k8s.io"]
resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
---
# Source: cert-manager/templates/rbac.yaml
# Issuer controller role
@@ -312,6 +299,23 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
+ name: cert-manager-cluster-view
+ labels:
+ app: cert-manager
+ app.kubernetes.io/name: cert-manager
+ app.kubernetes.io/instance: cert-manager
+ app.kubernetes.io/component: "controller"
+ app.kubernetes.io/managed-by: Helm
+ rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
+rules:
+ - apiGroups: ["cert-manager.io"]
+ resources: ["clusterissuers"]
+ verbs: ["get", "list", "watch"]
+---
+# Source: cert-manager/templates/rbac.yaml
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
name: cert-manager-view
labels:
app: cert-manager
@@ -322,6 +326,7 @@
rbac.authorization.k8s.io/aggregate-to-view: "true"
rbac.authorization.k8s.io/aggregate-to-edit: "true"
rbac.authorization.k8s.io/aggregate-to-admin: "true"
+ rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
rules:
- apiGroups: ["cert-manager.io"]
resources: ["certificates", "certificaterequests", "issuers"]
@@ -370,7 +375,9 @@
- apiGroups: ["cert-manager.io"]
resources: ["signers"]
verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
+ resourceNames:
+ - "issuers.cert-manager.io/*"
+ - "clusterissuers.cert-manager.io/*"
---
# Source: cert-manager/templates/rbac.yaml
# Permission to:
@@ -835,11 +842,14 @@
app.kubernetes.io/managed-by: Helm
spec:
serviceAccountName: cert-manager-cainjector
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.15.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +861,10 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
nodeSelector:
kubernetes.io/os: linux
---
@@ -887,29 +901,54 @@
prometheus.io/port: '9402'
spec:
serviceAccountName: cert-manager
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.15.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.15.0
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
+ - containerPort: 9403
+ name: http-healthz
+ protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
+ # LivenessProbe settings are based on those used for the Kubernetes
+ # controller-manager. See:
+ # https://github.com/kubernetes/kubernetes/blob/806b30170c61a38fedd54cc9ede4cd6275a1ad3b/cmd/kubeadm/app/util/staticpod/utils.go#L241-L245
+ livenessProbe:
+ httpGet:
+ port: http-healthz
+ path: /livez
+ scheme: HTTP
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ timeoutSeconds: 15
+ successThreshold: 1
+ failureThreshold: 8
nodeSelector:
kubernetes.io/os: linux
dnsPolicy: None
@@ -947,22 +986,30 @@
app.kubernetes.io/managed-by: Helm
spec:
serviceAccountName: cert-manager-webhook
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.15.0"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1032,10 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
env:
- name: POD_NAMESPACE
valueFrom:
@@ -993,6 +1044,18 @@
nodeSelector:
kubernetes.io/os: linux
---
+
+---
+
+---
+
+---
+
+---
+
+---
+
+---
# Source: cert-manager/templates/webhook-mutating-webhook.yaml
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
@@ -1011,20 +1074,18 @@
rules:
- apiGroups:
- "cert-manager.io"
- - "acme.cert-manager.io"
apiVersions:
- "v1"
operations:
- CREATE
- - UPDATE
resources:
- - "*/*"
+ - "certificaterequests"
admissionReviewVersions: ["v1"]
# This webhook only accepts v1 cert-manager resources.
# Equivalent matchPolicy ensures that non-v1 resource requests are sent to
# this webhook (after the resources have been converted to v1).
matchPolicy: Equivalent
- timeoutSeconds: 10
+ timeoutSeconds: 30
failurePolicy: Fail
# Only include 'sideEffects' field in Kubernetes 1.12+
sideEffects: None
@@ -1051,14 +1112,10 @@
- name: webhook.cert-manager.io
namespaceSelector:
matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
+ - key: cert-manager.io/disable-validation
+ operator: NotIn
values:
- "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
rules:
- apiGroups:
- "cert-manager.io"
@@ -1075,7 +1132,7 @@
# Equivalent matchPolicy ensures that non-v1 resource requests are sent to
# this webhook (after the resources have been converted to v1).
matchPolicy: Equivalent
- timeoutSeconds: 10
+ timeoutSeconds: 30
failurePolicy: Fail
sideEffects: None
clientConfig:
@@ -1178,17 +1235,25 @@
spec:
restartPolicy: OnFailure
serviceAccountName: cert-manager-startupapicheck
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-startupapicheck:v1.15.0"
imagePullPolicy: IfNotPresent
args:
- check
- api
- --wait=1m
+ - -v
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
nodeSelector:
kubernetes.io/os: linux |
6affa09
to
5311281
Compare
Path: @@ -41,19 +41,6 @@
app.kubernetes.io/component: "webhook"
app.kubernetes.io/managed-by: Helm
---
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
# Source: cert-manager/templates/cainjector-rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
@@ -77,13 +64,13 @@
verbs: ["get", "create", "update", "patch"]
- apiGroups: ["admissionregistration.k8s.io"]
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiregistration.k8s.io"]
resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
---
# Source: cert-manager/templates/rbac.yaml
# Issuer controller role
@@ -312,6 +299,23 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
+ name: cert-manager-cluster-view
+ labels:
+ app: cert-manager
+ app.kubernetes.io/name: cert-manager
+ app.kubernetes.io/instance: cert-manager
+ app.kubernetes.io/component: "controller"
+ app.kubernetes.io/managed-by: Helm
+ rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
+rules:
+ - apiGroups: ["cert-manager.io"]
+ resources: ["clusterissuers"]
+ verbs: ["get", "list", "watch"]
+---
+# Source: cert-manager/templates/rbac.yaml
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
name: cert-manager-view
labels:
app: cert-manager
@@ -322,6 +326,7 @@
rbac.authorization.k8s.io/aggregate-to-view: "true"
rbac.authorization.k8s.io/aggregate-to-edit: "true"
rbac.authorization.k8s.io/aggregate-to-admin: "true"
+ rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
rules:
- apiGroups: ["cert-manager.io"]
resources: ["certificates", "certificaterequests", "issuers"]
@@ -370,7 +375,9 @@
- apiGroups: ["cert-manager.io"]
resources: ["signers"]
verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
+ resourceNames:
+ - "issuers.cert-manager.io/*"
+ - "clusterissuers.cert-manager.io/*"
---
# Source: cert-manager/templates/rbac.yaml
# Permission to:
@@ -835,11 +842,14 @@
app.kubernetes.io/managed-by: Helm
spec:
serviceAccountName: cert-manager-cainjector
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.15.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +861,10 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
nodeSelector:
kubernetes.io/os: linux
---
@@ -887,29 +901,54 @@
prometheus.io/port: '9402'
spec:
serviceAccountName: cert-manager
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.15.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.15.1
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
+ - containerPort: 9403
+ name: http-healthz
+ protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
+ # LivenessProbe settings are based on those used for the Kubernetes
+ # controller-manager. See:
+ # https://github.com/kubernetes/kubernetes/blob/806b30170c61a38fedd54cc9ede4cd6275a1ad3b/cmd/kubeadm/app/util/staticpod/utils.go#L241-L245
+ livenessProbe:
+ httpGet:
+ port: http-healthz
+ path: /livez
+ scheme: HTTP
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ timeoutSeconds: 15
+ successThreshold: 1
+ failureThreshold: 8
nodeSelector:
kubernetes.io/os: linux
dnsPolicy: None
@@ -947,22 +986,30 @@
app.kubernetes.io/managed-by: Helm
spec:
serviceAccountName: cert-manager-webhook
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.15.1"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1032,10 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
env:
- name: POD_NAMESPACE
valueFrom:
@@ -993,6 +1044,18 @@
nodeSelector:
kubernetes.io/os: linux
---
+
+---
+
+---
+
+---
+
+---
+
+---
+
+---
# Source: cert-manager/templates/webhook-mutating-webhook.yaml
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
@@ -1011,20 +1074,18 @@
rules:
- apiGroups:
- "cert-manager.io"
- - "acme.cert-manager.io"
apiVersions:
- "v1"
operations:
- CREATE
- - UPDATE
resources:
- - "*/*"
+ - "certificaterequests"
admissionReviewVersions: ["v1"]
# This webhook only accepts v1 cert-manager resources.
# Equivalent matchPolicy ensures that non-v1 resource requests are sent to
# this webhook (after the resources have been converted to v1).
matchPolicy: Equivalent
- timeoutSeconds: 10
+ timeoutSeconds: 30
failurePolicy: Fail
# Only include 'sideEffects' field in Kubernetes 1.12+
sideEffects: None
@@ -1051,14 +1112,10 @@
- name: webhook.cert-manager.io
namespaceSelector:
matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
+ - key: cert-manager.io/disable-validation
+ operator: NotIn
values:
- "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
rules:
- apiGroups:
- "cert-manager.io"
@@ -1075,7 +1132,7 @@
# Equivalent matchPolicy ensures that non-v1 resource requests are sent to
# this webhook (after the resources have been converted to v1).
matchPolicy: Equivalent
- timeoutSeconds: 10
+ timeoutSeconds: 30
failurePolicy: Fail
sideEffects: None
clientConfig:
@@ -1178,17 +1235,25 @@
spec:
restartPolicy: OnFailure
serviceAccountName: cert-manager-startupapicheck
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-startupapicheck:v1.15.1"
imagePullPolicy: IfNotPresent
args:
- check
- api
- --wait=1m
+ - -v
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
nodeSelector:
kubernetes.io/os: linux |
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
5311281
to
6834529
Compare
Path: @@ -41,19 +41,6 @@
app.kubernetes.io/component: "webhook"
app.kubernetes.io/managed-by: Helm
---
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
# Source: cert-manager/templates/cainjector-rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
@@ -77,13 +64,13 @@
verbs: ["get", "create", "update", "patch"]
- apiGroups: ["admissionregistration.k8s.io"]
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiregistration.k8s.io"]
resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
---
# Source: cert-manager/templates/rbac.yaml
# Issuer controller role
@@ -312,6 +299,23 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
+ name: cert-manager-cluster-view
+ labels:
+ app: cert-manager
+ app.kubernetes.io/name: cert-manager
+ app.kubernetes.io/instance: cert-manager
+ app.kubernetes.io/component: "controller"
+ app.kubernetes.io/managed-by: Helm
+ rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
+rules:
+ - apiGroups: ["cert-manager.io"]
+ resources: ["clusterissuers"]
+ verbs: ["get", "list", "watch"]
+---
+# Source: cert-manager/templates/rbac.yaml
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
name: cert-manager-view
labels:
app: cert-manager
@@ -322,6 +326,7 @@
rbac.authorization.k8s.io/aggregate-to-view: "true"
rbac.authorization.k8s.io/aggregate-to-edit: "true"
rbac.authorization.k8s.io/aggregate-to-admin: "true"
+ rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
rules:
- apiGroups: ["cert-manager.io"]
resources: ["certificates", "certificaterequests", "issuers"]
@@ -370,7 +375,9 @@
- apiGroups: ["cert-manager.io"]
resources: ["signers"]
verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
+ resourceNames:
+ - "issuers.cert-manager.io/*"
+ - "clusterissuers.cert-manager.io/*"
---
# Source: cert-manager/templates/rbac.yaml
# Permission to:
@@ -835,11 +842,14 @@
app.kubernetes.io/managed-by: Helm
spec:
serviceAccountName: cert-manager-cainjector
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.15.2"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +861,10 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
nodeSelector:
kubernetes.io/os: linux
---
@@ -887,29 +901,54 @@
prometheus.io/port: '9402'
spec:
serviceAccountName: cert-manager
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.15.2"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.15.2
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
+ - containerPort: 9403
+ name: http-healthz
+ protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
+ # LivenessProbe settings are based on those used for the Kubernetes
+ # controller-manager. See:
+ # https://github.com/kubernetes/kubernetes/blob/806b30170c61a38fedd54cc9ede4cd6275a1ad3b/cmd/kubeadm/app/util/staticpod/utils.go#L241-L245
+ livenessProbe:
+ httpGet:
+ port: http-healthz
+ path: /livez
+ scheme: HTTP
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ timeoutSeconds: 15
+ successThreshold: 1
+ failureThreshold: 8
nodeSelector:
kubernetes.io/os: linux
dnsPolicy: None
@@ -947,22 +986,30 @@
app.kubernetes.io/managed-by: Helm
spec:
serviceAccountName: cert-manager-webhook
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.15.2"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1032,10 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
env:
- name: POD_NAMESPACE
valueFrom:
@@ -993,6 +1044,18 @@
nodeSelector:
kubernetes.io/os: linux
---
+
+---
+
+---
+
+---
+
+---
+
+---
+
+---
# Source: cert-manager/templates/webhook-mutating-webhook.yaml
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
@@ -1011,20 +1074,18 @@
rules:
- apiGroups:
- "cert-manager.io"
- - "acme.cert-manager.io"
apiVersions:
- "v1"
operations:
- CREATE
- - UPDATE
resources:
- - "*/*"
+ - "certificaterequests"
admissionReviewVersions: ["v1"]
# This webhook only accepts v1 cert-manager resources.
# Equivalent matchPolicy ensures that non-v1 resource requests are sent to
# this webhook (after the resources have been converted to v1).
matchPolicy: Equivalent
- timeoutSeconds: 10
+ timeoutSeconds: 30
failurePolicy: Fail
# Only include 'sideEffects' field in Kubernetes 1.12+
sideEffects: None
@@ -1051,14 +1112,10 @@
- name: webhook.cert-manager.io
namespaceSelector:
matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
+ - key: cert-manager.io/disable-validation
+ operator: NotIn
values:
- "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
rules:
- apiGroups:
- "cert-manager.io"
@@ -1075,7 +1132,7 @@
# Equivalent matchPolicy ensures that non-v1 resource requests are sent to
# this webhook (after the resources have been converted to v1).
matchPolicy: Equivalent
- timeoutSeconds: 10
+ timeoutSeconds: 30
failurePolicy: Fail
sideEffects: None
clientConfig:
@@ -1178,17 +1235,25 @@
spec:
restartPolicy: OnFailure
serviceAccountName: cert-manager-startupapicheck
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-startupapicheck:v1.15.2"
imagePullPolicy: IfNotPresent
args:
- check
- api
- --wait=1m
+ - -v
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
nodeSelector:
kubernetes.io/os: linux |
6834529
to
31954d2
Compare
Path: @@ -41,19 +41,6 @@
app.kubernetes.io/component: "webhook"
app.kubernetes.io/managed-by: Helm
---
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
# Source: cert-manager/templates/cainjector-rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
@@ -77,13 +64,13 @@
verbs: ["get", "create", "update", "patch"]
- apiGroups: ["admissionregistration.k8s.io"]
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiregistration.k8s.io"]
resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
+ verbs: ["get", "list", "watch", "update", "patch"]
---
# Source: cert-manager/templates/rbac.yaml
# Issuer controller role
@@ -312,6 +299,23 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
+ name: cert-manager-cluster-view
+ labels:
+ app: cert-manager
+ app.kubernetes.io/name: cert-manager
+ app.kubernetes.io/instance: cert-manager
+ app.kubernetes.io/component: "controller"
+ app.kubernetes.io/managed-by: Helm
+ rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
+rules:
+ - apiGroups: ["cert-manager.io"]
+ resources: ["clusterissuers"]
+ verbs: ["get", "list", "watch"]
+---
+# Source: cert-manager/templates/rbac.yaml
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
name: cert-manager-view
labels:
app: cert-manager
@@ -322,6 +326,7 @@
rbac.authorization.k8s.io/aggregate-to-view: "true"
rbac.authorization.k8s.io/aggregate-to-edit: "true"
rbac.authorization.k8s.io/aggregate-to-admin: "true"
+ rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true"
rules:
- apiGroups: ["cert-manager.io"]
resources: ["certificates", "certificaterequests", "issuers"]
@@ -370,7 +375,9 @@
- apiGroups: ["cert-manager.io"]
resources: ["signers"]
verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
+ resourceNames:
+ - "issuers.cert-manager.io/*"
+ - "clusterissuers.cert-manager.io/*"
---
# Source: cert-manager/templates/rbac.yaml
# Permission to:
@@ -835,11 +842,14 @@
app.kubernetes.io/managed-by: Helm
spec:
serviceAccountName: cert-manager-cainjector
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
+ - name: cert-manager-cainjector
+ image: "quay.io/jetstack/cert-manager-cainjector:v1.15.3"
imagePullPolicy: IfNotPresent
args:
- --v=2
@@ -851,6 +861,10 @@
fieldPath: metadata.namespace
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
nodeSelector:
kubernetes.io/os: linux
---
@@ -887,29 +901,54 @@
prometheus.io/port: '9402'
spec:
serviceAccountName: cert-manager
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
+ - name: cert-manager-controller
+ image: "quay.io/jetstack/cert-manager-controller:v1.15.3"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --cluster-resource-namespace=$(POD_NAMESPACE)
- --leader-election-namespace=kube-system
+ - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.15.3
- --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- --dns01-recursive-nameservers-only
+ - --max-concurrent-challenges=60
ports:
- containerPort: 9402
name: http-metrics
protocol: TCP
+ - containerPort: 9403
+ name: http-healthz
+ protocol: TCP
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
+ # LivenessProbe settings are based on those used for the Kubernetes
+ # controller-manager. See:
+ # https://github.com/kubernetes/kubernetes/blob/806b30170c61a38fedd54cc9ede4cd6275a1ad3b/cmd/kubeadm/app/util/staticpod/utils.go#L241-L245
+ livenessProbe:
+ httpGet:
+ port: http-healthz
+ path: /livez
+ scheme: HTTP
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ timeoutSeconds: 15
+ successThreshold: 1
+ failureThreshold: 8
nodeSelector:
kubernetes.io/os: linux
dnsPolicy: None
@@ -947,22 +986,30 @@
app.kubernetes.io/managed-by: Helm
spec:
serviceAccountName: cert-manager-webhook
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
+ - name: cert-manager-webhook
+ image: "quay.io/jetstack/cert-manager-webhook:v1.15.3"
imagePullPolicy: IfNotPresent
args:
- --v=2
- --secure-port=10250
- --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
+ - --dynamic-serving-dns-names=cert-manager-webhook
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
+ - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
ports:
- name: https
protocol: TCP
containerPort: 10250
+ - name: healthcheck
+ protocol: TCP
+ containerPort: 6080
livenessProbe:
httpGet:
path: /livez
@@ -985,6 +1032,10 @@
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
env:
- name: POD_NAMESPACE
valueFrom:
@@ -993,6 +1044,18 @@
nodeSelector:
kubernetes.io/os: linux
---
+
+---
+
+---
+
+---
+
+---
+
+---
+
+---
# Source: cert-manager/templates/webhook-mutating-webhook.yaml
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
@@ -1011,20 +1074,18 @@
rules:
- apiGroups:
- "cert-manager.io"
- - "acme.cert-manager.io"
apiVersions:
- "v1"
operations:
- CREATE
- - UPDATE
resources:
- - "*/*"
+ - "certificaterequests"
admissionReviewVersions: ["v1"]
# This webhook only accepts v1 cert-manager resources.
# Equivalent matchPolicy ensures that non-v1 resource requests are sent to
# this webhook (after the resources have been converted to v1).
matchPolicy: Equivalent
- timeoutSeconds: 10
+ timeoutSeconds: 30
failurePolicy: Fail
# Only include 'sideEffects' field in Kubernetes 1.12+
sideEffects: None
@@ -1051,14 +1112,10 @@
- name: webhook.cert-manager.io
namespaceSelector:
matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
+ - key: cert-manager.io/disable-validation
+ operator: NotIn
values:
- "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
rules:
- apiGroups:
- "cert-manager.io"
@@ -1075,7 +1132,7 @@
# Equivalent matchPolicy ensures that non-v1 resource requests are sent to
# this webhook (after the resources have been converted to v1).
matchPolicy: Equivalent
- timeoutSeconds: 10
+ timeoutSeconds: 30
failurePolicy: Fail
sideEffects: None
clientConfig:
@@ -1178,17 +1235,25 @@
spec:
restartPolicy: OnFailure
serviceAccountName: cert-manager-startupapicheck
+ enableServiceLinks: false
securityContext:
runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
+ - name: cert-manager-startupapicheck
+ image: "quay.io/jetstack/cert-manager-startupapicheck:v1.15.3"
imagePullPolicy: IfNotPresent
args:
- check
- api
- --wait=1m
+ - -v
securityContext:
allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
nodeSelector:
kubernetes.io/os: linux |
31954d2
to
746be39
Compare
Path: @@ -1,1194 +1 @@
----
-# Source: cert-manager/templates/cainjector-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["get", "create", "update", "patch"]
- - apiGroups: ["admissionregistration.k8s.io"]
- resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiregistration.k8s.io"]
- resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiextensions.k8s.io"]
- resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Issuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "issuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ClusterIssuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "clusterissuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Certificates controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/finalizers", "certificaterequests/finalizers"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders"]
- verbs: ["create", "delete", "get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Orders controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "orders/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "challenges"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["create", "delete"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Challenges controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Use to update challenge resource status
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "challenges/status"]
- verbs: ["update", "patch"]
- # Used to watch challenge resources
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["get", "list", "watch"]
- # Used to watch challenges, issuer and clusterissuer resources
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- # Need to be able to retrieve ACME account private key to complete challenges
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- # Used to create events
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
- # HTTP01 rules
- - apiGroups: [""]
- resources: ["pods", "services"]
- verbs: ["get", "list", "watch", "create", "delete"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["httproutes"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- # We require the ability to specify a custom hostname when we are creating
- # new ingress resources.
- # See: https://github.com/openshift/origin/blob/21f191775636f9acadb44fa42beeb4f75b255532/pkg/route/apiserver/admission/ingress_admission.go#L84-L148
- - apiGroups: ["route.openshift.io"]
- resources: ["routes/custom-host"]
- verbs: ["create"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges/finalizers"]
- verbs: ["update"]
- # DNS01 rules (duplicated above)
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ingress-shim controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests"]
- verbs: ["create", "update", "delete"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses/finalizers"]
- verbs: ["update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways", "httproutes"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways/finalizers", "httproutes/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-view
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-view: "true"
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-edit
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/status"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to approve CertificateRequests referencing cert-manager.io Issuers and ClusterIssuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["signers"]
- verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to:
-# - Update and sign CertificatSigningeRequests referencing cert-manager.io Issuers and ClusterIssuers
-# - Perform SubjectAccessReviews to test whether users are able to reference Namespaced Issuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["signers"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
- verbs: ["sign"]
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-cainjector
-subjects:
- - name: cert-manager-cainjector
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-issuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-clusterissuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificates
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-orders
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-challenges
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-ingress-shim
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-approve:cert-manager-io
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificatesigningrequests
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-webhook:subjectaccessreviews
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# leader election rules
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Used for leader election by the controller
- # cert-manager-cainjector-leader-election is used by the CertificateBased injector controller
- # see cmd/cainjector/start.go#L113
- # cert-manager-cainjector-leader-election-core is used by the SecretBased injector controller
- # see cmd/cainjector/start.go#L137
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-cainjector-leader-election", "cert-manager-cainjector-leader-election-core"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-controller"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: [""]
- resources: ["secrets"]
- resourceNames:
- - 'cert-manager-webhook-ca'
- verbs: ["get", "list", "watch", "update"]
- # It's not possible to grant CREATE permission on a single resourceName.
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-cainjector:leaderelection
-subjects:
- - kind: ServiceAccount
- name: cert-manager-cainjector
- namespace: default
----
-# Source: cert-manager/templates/rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager:leaderelection
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager
- namespace: default
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-webhook:dynamic-serving
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - protocol: TCP
- port: 9402
- name: tcp-prometheus-servicemonitor
- targetPort: 9402
- selector:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
----
-# Source: cert-manager/templates/webhook-service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - name: https
- port: 443
- protocol: TCP
- targetPort: "https"
- selector:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
----
-# Source: cert-manager/templates/cainjector-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- template:
- metadata:
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-cainjector
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --leader-election-namespace=kube-system
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- template:
- metadata:
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- annotations:
- prometheus.io/path: "/metrics"
- prometheus.io/scrape: 'true'
- prometheus.io/port: '9402'
- spec:
- serviceAccountName: cert-manager
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --cluster-resource-namespace=$(POD_NAMESPACE)
- - --leader-election-namespace=kube-system
- - --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- - --dns01-recursive-nameservers-only
- ports:
- - containerPort: 9402
- name: http-metrics
- protocol: TCP
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
- dnsPolicy: None
- dnsConfig:
- nameservers:
- - 1.1.1.1
- - 9.9.9.9
----
-# Source: cert-manager/templates/webhook-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- template:
- metadata:
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-webhook
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --secure-port=10250
- - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
- ports:
- - name: https
- protocol: TCP
- containerPort: 10250
- livenessProbe:
- httpGet:
- path: /livez
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- readinessProbe:
- httpGet:
- path: /healthz
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 5
- periodSeconds: 5
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/webhook-mutating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: MutatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- # Only include 'sideEffects' field in Kubernetes 1.12+
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /mutate
----
-# Source: cert-manager/templates/webhook-validating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: ValidatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- namespaceSelector:
- matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
- values:
- - "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /validate
----
-# Source: cert-manager/templates/startupapicheck-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-# create certificate role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-startupapicheck:create-cert
-subjects:
- - kind: ServiceAccount
- name: cert-manager-startupapicheck
- namespace: default
----
-# Source: cert-manager/templates/startupapicheck-job.yaml
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "1"
-spec:
- backoffLimit: 4
- template:
- metadata:
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- spec:
- restartPolicy: OnFailure
- serviceAccountName: cert-manager-startupapicheck
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - check
- - api
- - --wait=1m
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
+ |
746be39
to
8f53d81
Compare
Path: @@ -1,1194 +1 @@
----
-# Source: cert-manager/templates/cainjector-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["get", "create", "update", "patch"]
- - apiGroups: ["admissionregistration.k8s.io"]
- resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiregistration.k8s.io"]
- resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiextensions.k8s.io"]
- resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Issuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "issuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ClusterIssuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "clusterissuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Certificates controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/finalizers", "certificaterequests/finalizers"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders"]
- verbs: ["create", "delete", "get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Orders controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "orders/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "challenges"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["create", "delete"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Challenges controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Use to update challenge resource status
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "challenges/status"]
- verbs: ["update", "patch"]
- # Used to watch challenge resources
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["get", "list", "watch"]
- # Used to watch challenges, issuer and clusterissuer resources
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- # Need to be able to retrieve ACME account private key to complete challenges
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- # Used to create events
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
- # HTTP01 rules
- - apiGroups: [""]
- resources: ["pods", "services"]
- verbs: ["get", "list", "watch", "create", "delete"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["httproutes"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- # We require the ability to specify a custom hostname when we are creating
- # new ingress resources.
- # See: https://github.com/openshift/origin/blob/21f191775636f9acadb44fa42beeb4f75b255532/pkg/route/apiserver/admission/ingress_admission.go#L84-L148
- - apiGroups: ["route.openshift.io"]
- resources: ["routes/custom-host"]
- verbs: ["create"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges/finalizers"]
- verbs: ["update"]
- # DNS01 rules (duplicated above)
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ingress-shim controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests"]
- verbs: ["create", "update", "delete"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses/finalizers"]
- verbs: ["update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways", "httproutes"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways/finalizers", "httproutes/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-view
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-view: "true"
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-edit
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/status"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to approve CertificateRequests referencing cert-manager.io Issuers and ClusterIssuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["signers"]
- verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to:
-# - Update and sign CertificatSigningeRequests referencing cert-manager.io Issuers and ClusterIssuers
-# - Perform SubjectAccessReviews to test whether users are able to reference Namespaced Issuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["signers"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
- verbs: ["sign"]
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-cainjector
-subjects:
- - name: cert-manager-cainjector
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-issuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-clusterissuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificates
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-orders
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-challenges
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-ingress-shim
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-approve:cert-manager-io
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificatesigningrequests
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-webhook:subjectaccessreviews
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# leader election rules
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Used for leader election by the controller
- # cert-manager-cainjector-leader-election is used by the CertificateBased injector controller
- # see cmd/cainjector/start.go#L113
- # cert-manager-cainjector-leader-election-core is used by the SecretBased injector controller
- # see cmd/cainjector/start.go#L137
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-cainjector-leader-election", "cert-manager-cainjector-leader-election-core"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-controller"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: [""]
- resources: ["secrets"]
- resourceNames:
- - 'cert-manager-webhook-ca'
- verbs: ["get", "list", "watch", "update"]
- # It's not possible to grant CREATE permission on a single resourceName.
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-cainjector:leaderelection
-subjects:
- - kind: ServiceAccount
- name: cert-manager-cainjector
- namespace: default
----
-# Source: cert-manager/templates/rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager:leaderelection
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager
- namespace: default
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-webhook:dynamic-serving
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - protocol: TCP
- port: 9402
- name: tcp-prometheus-servicemonitor
- targetPort: 9402
- selector:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
----
-# Source: cert-manager/templates/webhook-service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - name: https
- port: 443
- protocol: TCP
- targetPort: "https"
- selector:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
----
-# Source: cert-manager/templates/cainjector-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- template:
- metadata:
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-cainjector
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --leader-election-namespace=kube-system
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- template:
- metadata:
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- annotations:
- prometheus.io/path: "/metrics"
- prometheus.io/scrape: 'true'
- prometheus.io/port: '9402'
- spec:
- serviceAccountName: cert-manager
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --cluster-resource-namespace=$(POD_NAMESPACE)
- - --leader-election-namespace=kube-system
- - --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- - --dns01-recursive-nameservers-only
- ports:
- - containerPort: 9402
- name: http-metrics
- protocol: TCP
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
- dnsPolicy: None
- dnsConfig:
- nameservers:
- - 1.1.1.1
- - 9.9.9.9
----
-# Source: cert-manager/templates/webhook-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- template:
- metadata:
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-webhook
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --secure-port=10250
- - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
- ports:
- - name: https
- protocol: TCP
- containerPort: 10250
- livenessProbe:
- httpGet:
- path: /livez
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- readinessProbe:
- httpGet:
- path: /healthz
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 5
- periodSeconds: 5
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/webhook-mutating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: MutatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- # Only include 'sideEffects' field in Kubernetes 1.12+
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /mutate
----
-# Source: cert-manager/templates/webhook-validating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: ValidatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- namespaceSelector:
- matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
- values:
- - "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /validate
----
-# Source: cert-manager/templates/startupapicheck-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-# create certificate role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-startupapicheck:create-cert
-subjects:
- - kind: ServiceAccount
- name: cert-manager-startupapicheck
- namespace: default
----
-# Source: cert-manager/templates/startupapicheck-job.yaml
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "1"
-spec:
- backoffLimit: 4
- template:
- metadata:
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- spec:
- restartPolicy: OnFailure
- serviceAccountName: cert-manager-startupapicheck
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - check
- - api
- - --wait=1m
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
+ |
8f53d81
to
09d4e8d
Compare
Path: @@ -1,1194 +1 @@
----
-# Source: cert-manager/templates/cainjector-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["get", "create", "update", "patch"]
- - apiGroups: ["admissionregistration.k8s.io"]
- resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiregistration.k8s.io"]
- resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiextensions.k8s.io"]
- resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Issuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "issuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ClusterIssuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "clusterissuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Certificates controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/finalizers", "certificaterequests/finalizers"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders"]
- verbs: ["create", "delete", "get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Orders controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "orders/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "challenges"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["create", "delete"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Challenges controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Use to update challenge resource status
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "challenges/status"]
- verbs: ["update", "patch"]
- # Used to watch challenge resources
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["get", "list", "watch"]
- # Used to watch challenges, issuer and clusterissuer resources
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- # Need to be able to retrieve ACME account private key to complete challenges
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- # Used to create events
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
- # HTTP01 rules
- - apiGroups: [""]
- resources: ["pods", "services"]
- verbs: ["get", "list", "watch", "create", "delete"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["httproutes"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- # We require the ability to specify a custom hostname when we are creating
- # new ingress resources.
- # See: https://github.com/openshift/origin/blob/21f191775636f9acadb44fa42beeb4f75b255532/pkg/route/apiserver/admission/ingress_admission.go#L84-L148
- - apiGroups: ["route.openshift.io"]
- resources: ["routes/custom-host"]
- verbs: ["create"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges/finalizers"]
- verbs: ["update"]
- # DNS01 rules (duplicated above)
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ingress-shim controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests"]
- verbs: ["create", "update", "delete"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses/finalizers"]
- verbs: ["update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways", "httproutes"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways/finalizers", "httproutes/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-view
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-view: "true"
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-edit
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/status"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to approve CertificateRequests referencing cert-manager.io Issuers and ClusterIssuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["signers"]
- verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to:
-# - Update and sign CertificatSigningeRequests referencing cert-manager.io Issuers and ClusterIssuers
-# - Perform SubjectAccessReviews to test whether users are able to reference Namespaced Issuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["signers"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
- verbs: ["sign"]
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-cainjector
-subjects:
- - name: cert-manager-cainjector
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-issuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-clusterissuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificates
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-orders
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-challenges
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-ingress-shim
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-approve:cert-manager-io
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificatesigningrequests
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-webhook:subjectaccessreviews
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# leader election rules
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Used for leader election by the controller
- # cert-manager-cainjector-leader-election is used by the CertificateBased injector controller
- # see cmd/cainjector/start.go#L113
- # cert-manager-cainjector-leader-election-core is used by the SecretBased injector controller
- # see cmd/cainjector/start.go#L137
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-cainjector-leader-election", "cert-manager-cainjector-leader-election-core"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-controller"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: [""]
- resources: ["secrets"]
- resourceNames:
- - 'cert-manager-webhook-ca'
- verbs: ["get", "list", "watch", "update"]
- # It's not possible to grant CREATE permission on a single resourceName.
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-cainjector:leaderelection
-subjects:
- - kind: ServiceAccount
- name: cert-manager-cainjector
- namespace: default
----
-# Source: cert-manager/templates/rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager:leaderelection
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager
- namespace: default
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-webhook:dynamic-serving
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - protocol: TCP
- port: 9402
- name: tcp-prometheus-servicemonitor
- targetPort: 9402
- selector:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
----
-# Source: cert-manager/templates/webhook-service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - name: https
- port: 443
- protocol: TCP
- targetPort: "https"
- selector:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
----
-# Source: cert-manager/templates/cainjector-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- template:
- metadata:
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-cainjector
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --leader-election-namespace=kube-system
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- template:
- metadata:
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- annotations:
- prometheus.io/path: "/metrics"
- prometheus.io/scrape: 'true'
- prometheus.io/port: '9402'
- spec:
- serviceAccountName: cert-manager
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --cluster-resource-namespace=$(POD_NAMESPACE)
- - --leader-election-namespace=kube-system
- - --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- - --dns01-recursive-nameservers-only
- ports:
- - containerPort: 9402
- name: http-metrics
- protocol: TCP
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
- dnsPolicy: None
- dnsConfig:
- nameservers:
- - 1.1.1.1
- - 9.9.9.9
----
-# Source: cert-manager/templates/webhook-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- template:
- metadata:
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-webhook
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --secure-port=10250
- - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
- ports:
- - name: https
- protocol: TCP
- containerPort: 10250
- livenessProbe:
- httpGet:
- path: /livez
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- readinessProbe:
- httpGet:
- path: /healthz
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 5
- periodSeconds: 5
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/webhook-mutating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: MutatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- # Only include 'sideEffects' field in Kubernetes 1.12+
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /mutate
----
-# Source: cert-manager/templates/webhook-validating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: ValidatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- namespaceSelector:
- matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
- values:
- - "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /validate
----
-# Source: cert-manager/templates/startupapicheck-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-# create certificate role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-startupapicheck:create-cert
-subjects:
- - kind: ServiceAccount
- name: cert-manager-startupapicheck
- namespace: default
----
-# Source: cert-manager/templates/startupapicheck-job.yaml
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "1"
-spec:
- backoffLimit: 4
- template:
- metadata:
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- spec:
- restartPolicy: OnFailure
- serviceAccountName: cert-manager-startupapicheck
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - check
- - api
- - --wait=1m
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
+ |
09d4e8d
to
58870db
Compare
Path: @@ -1,1194 +1 @@
----
-# Source: cert-manager/templates/cainjector-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["get", "create", "update", "patch"]
- - apiGroups: ["admissionregistration.k8s.io"]
- resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiregistration.k8s.io"]
- resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiextensions.k8s.io"]
- resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Issuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "issuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ClusterIssuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "clusterissuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Certificates controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/finalizers", "certificaterequests/finalizers"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders"]
- verbs: ["create", "delete", "get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Orders controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "orders/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "challenges"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["create", "delete"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Challenges controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Use to update challenge resource status
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "challenges/status"]
- verbs: ["update", "patch"]
- # Used to watch challenge resources
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["get", "list", "watch"]
- # Used to watch challenges, issuer and clusterissuer resources
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- # Need to be able to retrieve ACME account private key to complete challenges
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- # Used to create events
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
- # HTTP01 rules
- - apiGroups: [""]
- resources: ["pods", "services"]
- verbs: ["get", "list", "watch", "create", "delete"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["httproutes"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- # We require the ability to specify a custom hostname when we are creating
- # new ingress resources.
- # See: https://github.com/openshift/origin/blob/21f191775636f9acadb44fa42beeb4f75b255532/pkg/route/apiserver/admission/ingress_admission.go#L84-L148
- - apiGroups: ["route.openshift.io"]
- resources: ["routes/custom-host"]
- verbs: ["create"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges/finalizers"]
- verbs: ["update"]
- # DNS01 rules (duplicated above)
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ingress-shim controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests"]
- verbs: ["create", "update", "delete"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses/finalizers"]
- verbs: ["update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways", "httproutes"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways/finalizers", "httproutes/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-view
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-view: "true"
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-edit
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/status"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to approve CertificateRequests referencing cert-manager.io Issuers and ClusterIssuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["signers"]
- verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to:
-# - Update and sign CertificatSigningeRequests referencing cert-manager.io Issuers and ClusterIssuers
-# - Perform SubjectAccessReviews to test whether users are able to reference Namespaced Issuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["signers"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
- verbs: ["sign"]
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-cainjector
-subjects:
- - name: cert-manager-cainjector
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-issuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-clusterissuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificates
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-orders
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-challenges
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-ingress-shim
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-approve:cert-manager-io
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificatesigningrequests
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-webhook:subjectaccessreviews
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# leader election rules
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Used for leader election by the controller
- # cert-manager-cainjector-leader-election is used by the CertificateBased injector controller
- # see cmd/cainjector/start.go#L113
- # cert-manager-cainjector-leader-election-core is used by the SecretBased injector controller
- # see cmd/cainjector/start.go#L137
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-cainjector-leader-election", "cert-manager-cainjector-leader-election-core"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-controller"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: [""]
- resources: ["secrets"]
- resourceNames:
- - 'cert-manager-webhook-ca'
- verbs: ["get", "list", "watch", "update"]
- # It's not possible to grant CREATE permission on a single resourceName.
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-cainjector:leaderelection
-subjects:
- - kind: ServiceAccount
- name: cert-manager-cainjector
- namespace: default
----
-# Source: cert-manager/templates/rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager:leaderelection
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager
- namespace: default
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-webhook:dynamic-serving
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - protocol: TCP
- port: 9402
- name: tcp-prometheus-servicemonitor
- targetPort: 9402
- selector:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
----
-# Source: cert-manager/templates/webhook-service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - name: https
- port: 443
- protocol: TCP
- targetPort: "https"
- selector:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
----
-# Source: cert-manager/templates/cainjector-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- template:
- metadata:
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-cainjector
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --leader-election-namespace=kube-system
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- template:
- metadata:
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- annotations:
- prometheus.io/path: "/metrics"
- prometheus.io/scrape: 'true'
- prometheus.io/port: '9402'
- spec:
- serviceAccountName: cert-manager
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --cluster-resource-namespace=$(POD_NAMESPACE)
- - --leader-election-namespace=kube-system
- - --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- - --dns01-recursive-nameservers-only
- ports:
- - containerPort: 9402
- name: http-metrics
- protocol: TCP
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
- dnsPolicy: None
- dnsConfig:
- nameservers:
- - 1.1.1.1
- - 9.9.9.9
----
-# Source: cert-manager/templates/webhook-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- template:
- metadata:
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-webhook
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --secure-port=10250
- - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
- ports:
- - name: https
- protocol: TCP
- containerPort: 10250
- livenessProbe:
- httpGet:
- path: /livez
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- readinessProbe:
- httpGet:
- path: /healthz
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 5
- periodSeconds: 5
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/webhook-mutating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: MutatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- # Only include 'sideEffects' field in Kubernetes 1.12+
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /mutate
----
-# Source: cert-manager/templates/webhook-validating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: ValidatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- namespaceSelector:
- matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
- values:
- - "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /validate
----
-# Source: cert-manager/templates/startupapicheck-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-# create certificate role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-startupapicheck:create-cert
-subjects:
- - kind: ServiceAccount
- name: cert-manager-startupapicheck
- namespace: default
----
-# Source: cert-manager/templates/startupapicheck-job.yaml
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "1"
-spec:
- backoffLimit: 4
- template:
- metadata:
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- spec:
- restartPolicy: OnFailure
- serviceAccountName: cert-manager-startupapicheck
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - check
- - api
- - --wait=1m
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
+ |
58870db
to
2aa611b
Compare
Path: @@ -1,1194 +1 @@
----
-# Source: cert-manager/templates/cainjector-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["get", "create", "update", "patch"]
- - apiGroups: ["admissionregistration.k8s.io"]
- resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiregistration.k8s.io"]
- resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiextensions.k8s.io"]
- resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Issuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "issuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ClusterIssuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "clusterissuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Certificates controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/finalizers", "certificaterequests/finalizers"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders"]
- verbs: ["create", "delete", "get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Orders controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "orders/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "challenges"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["create", "delete"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Challenges controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Use to update challenge resource status
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "challenges/status"]
- verbs: ["update", "patch"]
- # Used to watch challenge resources
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["get", "list", "watch"]
- # Used to watch challenges, issuer and clusterissuer resources
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- # Need to be able to retrieve ACME account private key to complete challenges
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- # Used to create events
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
- # HTTP01 rules
- - apiGroups: [""]
- resources: ["pods", "services"]
- verbs: ["get", "list", "watch", "create", "delete"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["httproutes"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- # We require the ability to specify a custom hostname when we are creating
- # new ingress resources.
- # See: https://github.com/openshift/origin/blob/21f191775636f9acadb44fa42beeb4f75b255532/pkg/route/apiserver/admission/ingress_admission.go#L84-L148
- - apiGroups: ["route.openshift.io"]
- resources: ["routes/custom-host"]
- verbs: ["create"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges/finalizers"]
- verbs: ["update"]
- # DNS01 rules (duplicated above)
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ingress-shim controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests"]
- verbs: ["create", "update", "delete"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses/finalizers"]
- verbs: ["update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways", "httproutes"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways/finalizers", "httproutes/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-view
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-view: "true"
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-edit
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/status"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to approve CertificateRequests referencing cert-manager.io Issuers and ClusterIssuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["signers"]
- verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to:
-# - Update and sign CertificatSigningeRequests referencing cert-manager.io Issuers and ClusterIssuers
-# - Perform SubjectAccessReviews to test whether users are able to reference Namespaced Issuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["signers"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
- verbs: ["sign"]
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-cainjector
-subjects:
- - name: cert-manager-cainjector
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-issuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-clusterissuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificates
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-orders
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-challenges
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-ingress-shim
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-approve:cert-manager-io
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificatesigningrequests
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-webhook:subjectaccessreviews
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# leader election rules
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Used for leader election by the controller
- # cert-manager-cainjector-leader-election is used by the CertificateBased injector controller
- # see cmd/cainjector/start.go#L113
- # cert-manager-cainjector-leader-election-core is used by the SecretBased injector controller
- # see cmd/cainjector/start.go#L137
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-cainjector-leader-election", "cert-manager-cainjector-leader-election-core"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-controller"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: [""]
- resources: ["secrets"]
- resourceNames:
- - 'cert-manager-webhook-ca'
- verbs: ["get", "list", "watch", "update"]
- # It's not possible to grant CREATE permission on a single resourceName.
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-cainjector:leaderelection
-subjects:
- - kind: ServiceAccount
- name: cert-manager-cainjector
- namespace: default
----
-# Source: cert-manager/templates/rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager:leaderelection
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager
- namespace: default
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-webhook:dynamic-serving
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - protocol: TCP
- port: 9402
- name: tcp-prometheus-servicemonitor
- targetPort: 9402
- selector:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
----
-# Source: cert-manager/templates/webhook-service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - name: https
- port: 443
- protocol: TCP
- targetPort: "https"
- selector:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
----
-# Source: cert-manager/templates/cainjector-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- template:
- metadata:
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-cainjector
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --leader-election-namespace=kube-system
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- template:
- metadata:
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- annotations:
- prometheus.io/path: "/metrics"
- prometheus.io/scrape: 'true'
- prometheus.io/port: '9402'
- spec:
- serviceAccountName: cert-manager
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --cluster-resource-namespace=$(POD_NAMESPACE)
- - --leader-election-namespace=kube-system
- - --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- - --dns01-recursive-nameservers-only
- ports:
- - containerPort: 9402
- name: http-metrics
- protocol: TCP
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
- dnsPolicy: None
- dnsConfig:
- nameservers:
- - 1.1.1.1
- - 9.9.9.9
----
-# Source: cert-manager/templates/webhook-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- template:
- metadata:
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-webhook
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --secure-port=10250
- - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
- ports:
- - name: https
- protocol: TCP
- containerPort: 10250
- livenessProbe:
- httpGet:
- path: /livez
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- readinessProbe:
- httpGet:
- path: /healthz
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 5
- periodSeconds: 5
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/webhook-mutating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: MutatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- # Only include 'sideEffects' field in Kubernetes 1.12+
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /mutate
----
-# Source: cert-manager/templates/webhook-validating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: ValidatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- namespaceSelector:
- matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
- values:
- - "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /validate
----
-# Source: cert-manager/templates/startupapicheck-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-# create certificate role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-startupapicheck:create-cert
-subjects:
- - kind: ServiceAccount
- name: cert-manager-startupapicheck
- namespace: default
----
-# Source: cert-manager/templates/startupapicheck-job.yaml
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "1"
-spec:
- backoffLimit: 4
- template:
- metadata:
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- spec:
- restartPolicy: OnFailure
- serviceAccountName: cert-manager-startupapicheck
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - check
- - api
- - --wait=1m
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
+ |
| datasource | package | from | to | | ---------- | ------------ | ------ | ------- | | helm | cert-manager | v1.9.1 | v1.17.1 |
2aa611b
to
446e765
Compare
Path: @@ -1,1194 +1 @@
----
-# Source: cert-manager/templates/cainjector-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/webhook-config.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
-data:
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["get", "create", "update", "patch"]
- - apiGroups: ["admissionregistration.k8s.io"]
- resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiregistration.k8s.io"]
- resources: ["apiservices"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["apiextensions.k8s.io"]
- resources: ["customresourcedefinitions"]
- verbs: ["get", "list", "watch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Issuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "issuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ClusterIssuer controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "clusterissuers/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Certificates controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/finalizers", "certificaterequests/finalizers"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders"]
- verbs: ["create", "delete", "get", "list", "watch"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Orders controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "orders/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders", "challenges"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["cert-manager.io"]
- resources: ["clusterissuers", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["create", "delete"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["orders/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Challenges controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Use to update challenge resource status
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "challenges/status"]
- verbs: ["update", "patch"]
- # Used to watch challenge resources
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges"]
- verbs: ["get", "list", "watch"]
- # Used to watch challenges, issuer and clusterissuer resources
- - apiGroups: ["cert-manager.io"]
- resources: ["issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- # Need to be able to retrieve ACME account private key to complete challenges
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
- # Used to create events
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
- # HTTP01 rules
- - apiGroups: [""]
- resources: ["pods", "services"]
- verbs: ["get", "list", "watch", "create", "delete"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["httproutes"]
- verbs: ["get", "list", "watch", "create", "delete", "update"]
- # We require the ability to specify a custom hostname when we are creating
- # new ingress resources.
- # See: https://github.com/openshift/origin/blob/21f191775636f9acadb44fa42beeb4f75b255532/pkg/route/apiserver/admission/ingress_admission.go#L84-L148
- - apiGroups: ["route.openshift.io"]
- resources: ["routes/custom-host"]
- verbs: ["create"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges/finalizers"]
- verbs: ["update"]
- # DNS01 rules (duplicated above)
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-# ingress-shim controller role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests"]
- verbs: ["create", "update", "delete"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses"]
- verbs: ["get", "list", "watch"]
- # We require these rules to support users with the OwnerReferencesPermissionEnforcement
- # admission controller enabled:
- # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
- - apiGroups: ["networking.k8s.io"]
- resources: ["ingresses/finalizers"]
- verbs: ["update"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways", "httproutes"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["gateway.networking.k8s.io"]
- resources: ["gateways/finalizers", "httproutes/finalizers"]
- verbs: ["update"]
- - apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "patch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-view
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-view: "true"
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["get", "list", "watch"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["get", "list", "watch"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-edit
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- rbac.authorization.k8s.io/aggregate-to-edit: "true"
- rbac.authorization.k8s.io/aggregate-to-admin: "true"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates", "certificaterequests", "issuers"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates/status"]
- verbs: ["update"]
- - apiGroups: ["acme.cert-manager.io"]
- resources: ["challenges", "orders"]
- verbs: ["create", "delete", "deletecollection", "patch", "update"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to approve CertificateRequests referencing cert-manager.io Issuers and ClusterIssuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["signers"]
- verbs: ["approve"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
----
-# Source: cert-manager/templates/rbac.yaml
-# Permission to:
-# - Update and sign CertificatSigningeRequests referencing cert-manager.io Issuers and ClusterIssuers
-# - Perform SubjectAccessReviews to test whether users are able to reference Namespaced Issuers
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests"]
- verbs: ["get", "list", "watch", "update"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["certificatesigningrequests/status"]
- verbs: ["update", "patch"]
- - apiGroups: ["certificates.k8s.io"]
- resources: ["signers"]
- resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
- verbs: ["sign"]
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["authorization.k8s.io"]
- resources: ["subjectaccessreviews"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-cainjector
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-cainjector
-subjects:
- - name: cert-manager-cainjector
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-issuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-issuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-clusterissuers
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-clusterissuers
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificates
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificates
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-orders
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-orders
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-challenges
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-challenges
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-ingress-shim
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-ingress-shim
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-approve:cert-manager-io
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-approve:cert-manager-io
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-controller-certificatesigningrequests
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cert-manager"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-controller-certificatesigningrequests
-subjects:
- - name: cert-manager
- namespace: default
- kind: ServiceAccount
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cert-manager-webhook:subjectaccessreviews
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cert-manager-webhook:subjectaccessreviews
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# leader election rules
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-rules:
- # Used for leader election by the controller
- # cert-manager-cainjector-leader-election is used by the CertificateBased injector controller
- # see cmd/cainjector/start.go#L113
- # cert-manager-cainjector-leader-election-core is used by the SecretBased injector controller
- # see cmd/cainjector/start.go#L137
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-cainjector-leader-election", "cert-manager-cainjector-leader-election-core"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- resourceNames: ["cert-manager-controller"]
- verbs: ["get", "update", "patch"]
- - apiGroups: ["coordination.k8s.io"]
- resources: ["leases"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-rules:
- - apiGroups: [""]
- resources: ["secrets"]
- resourceNames:
- - 'cert-manager-webhook-ca'
- verbs: ["get", "list", "watch", "update"]
- # It's not possible to grant CREATE permission on a single resourceName.
- - apiGroups: [""]
- resources: ["secrets"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/cainjector-rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-cainjector:leaderelection
- namespace: kube-system
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-cainjector:leaderelection
-subjects:
- - kind: ServiceAccount
- name: cert-manager-cainjector
- namespace: default
----
-# Source: cert-manager/templates/rbac.yaml
-# grant cert-manager permission to manage the leaderelection configmap in the
-# leader election namespace
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager:leaderelection
- namespace: kube-system
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager:leaderelection
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager
- namespace: default
----
-# Source: cert-manager/templates/webhook-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-webhook:dynamic-serving
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-webhook:dynamic-serving
-subjects:
- - apiGroup: ""
- kind: ServiceAccount
- name: cert-manager-webhook
- namespace: default
----
-# Source: cert-manager/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - protocol: TCP
- port: 9402
- name: tcp-prometheus-servicemonitor
- targetPort: 9402
- selector:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
----
-# Source: cert-manager/templates/webhook-service.yaml
-apiVersion: v1
-kind: Service
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- type: ClusterIP
- ports:
- - name: https
- port: 443
- protocol: TCP
- targetPort: "https"
- selector:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
----
-# Source: cert-manager/templates/cainjector-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-cainjector
- namespace: default
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- template:
- metadata:
- labels:
- app: cainjector
- app.kubernetes.io/name: cainjector
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "cainjector"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-cainjector
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-cainjector:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --leader-election-namespace=kube-system
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager
- namespace: default
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- template:
- metadata:
- labels:
- app: cert-manager
- app.kubernetes.io/name: cert-manager
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "controller"
- app.kubernetes.io/managed-by: Helm
- annotations:
- prometheus.io/path: "/metrics"
- prometheus.io/scrape: 'true'
- prometheus.io/port: '9402'
- spec:
- serviceAccountName: cert-manager
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-controller:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --cluster-resource-namespace=$(POD_NAMESPACE)
- - --leader-election-namespace=kube-system
- - --dns01-recursive-nameservers=1.1.1.1:53,9.9.9.9:53
- - --dns01-recursive-nameservers-only
- ports:
- - containerPort: 9402
- name: http-metrics
- protocol: TCP
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
- dnsPolicy: None
- dnsConfig:
- nameservers:
- - 1.1.1.1
- - 9.9.9.9
----
-# Source: cert-manager/templates/webhook-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cert-manager-webhook
- namespace: default
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- template:
- metadata:
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- spec:
- serviceAccountName: cert-manager-webhook
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-webhook:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - --v=2
- - --secure-port=10250
- - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
- - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
- - --dynamic-serving-dns-names=cert-manager-webhook,cert-manager-webhook.default,cert-manager-webhook.default.svc
- ports:
- - name: https
- protocol: TCP
- containerPort: 10250
- livenessProbe:
- httpGet:
- path: /livez
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 60
- periodSeconds: 10
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- readinessProbe:
- httpGet:
- path: /healthz
- port: 6080
- scheme: HTTP
- initialDelaySeconds: 5
- periodSeconds: 5
- timeoutSeconds: 1
- successThreshold: 1
- failureThreshold: 3
- securityContext:
- allowPrivilegeEscalation: false
- env:
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- nodeSelector:
- kubernetes.io/os: linux
----
-# Source: cert-manager/templates/webhook-mutating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: MutatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- # Only include 'sideEffects' field in Kubernetes 1.12+
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /mutate
----
-# Source: cert-manager/templates/webhook-validating-webhook.yaml
-apiVersion: admissionregistration.k8s.io/v1
-kind: ValidatingWebhookConfiguration
-metadata:
- name: cert-manager-webhook
- labels:
- app: webhook
- app.kubernetes.io/name: webhook
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "webhook"
- app.kubernetes.io/managed-by: Helm
- annotations:
- cert-manager.io/inject-ca-from-secret: "default/cert-manager-webhook-ca"
-webhooks:
- - name: webhook.cert-manager.io
- namespaceSelector:
- matchExpressions:
- - key: "cert-manager.io/disable-validation"
- operator: "NotIn"
- values:
- - "true"
- - key: "name"
- operator: "NotIn"
- values:
- - default
- rules:
- - apiGroups:
- - "cert-manager.io"
- - "acme.cert-manager.io"
- apiVersions:
- - "v1"
- operations:
- - CREATE
- - UPDATE
- resources:
- - "*/*"
- admissionReviewVersions: ["v1"]
- # This webhook only accepts v1 cert-manager resources.
- # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
- # this webhook (after the resources have been converted to v1).
- matchPolicy: Equivalent
- timeoutSeconds: 10
- failurePolicy: Fail
- sideEffects: None
- clientConfig:
- service:
- name: cert-manager-webhook
- namespace: default
- path: /validate
----
-# Source: cert-manager/templates/startupapicheck-serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-automountServiceAccountToken: true
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-# create certificate role
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-rules:
- - apiGroups: ["cert-manager.io"]
- resources: ["certificates"]
- verbs: ["create"]
----
-# Source: cert-manager/templates/startupapicheck-rbac.yaml
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: cert-manager-startupapicheck:create-cert
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "-5"
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: cert-manager-startupapicheck:create-cert
-subjects:
- - kind: ServiceAccount
- name: cert-manager-startupapicheck
- namespace: default
----
-# Source: cert-manager/templates/startupapicheck-job.yaml
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: cert-manager-startupapicheck
- namespace: default
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- annotations:
- helm.sh/hook: post-install
- helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
- helm.sh/hook-weight: "1"
-spec:
- backoffLimit: 4
- template:
- metadata:
- labels:
- app: startupapicheck
- app.kubernetes.io/name: startupapicheck
- app.kubernetes.io/instance: cert-manager
- app.kubernetes.io/component: "startupapicheck"
- app.kubernetes.io/managed-by: Helm
- spec:
- restartPolicy: OnFailure
- serviceAccountName: cert-manager-startupapicheck
- securityContext:
- runAsNonRoot: true
- containers:
- - name: cert-manager
- image: "quay.io/jetstack/cert-manager-ctl:v1.9.1"
- imagePullPolicy: IfNotPresent
- args:
- - check
- - api
- - --wait=1m
- securityContext:
- allowPrivilegeEscalation: false
- nodeSelector:
- kubernetes.io/os: linux
+ |
This PR contains the following updates:
v1.9.1
->v1.17.1
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
cert-manager/cert-manager (cert-manager)
v1.17.1
Compare Source
v1.17.0
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
v1.17.0 is a feature release with several improvements, including:
Major Themes
RSA Certificate Compliance
The United States Department of Defense published a memo in 2022 which introduced some requirements on the kinds of cryptography they require to be supported in software they use.
In effect, the memo requires that software be able to support larger RSA keys (3072-bit and 4096-bit) and hashing algorithms (SHA-384 at a minimum).
cert-manager supported large RSA keys long before the memo was published, but a quirk in implementation meant that cert-manager always used SHA-256 when signing with RSA.
In v1.17.0, cert-manager will choose a hash algorithm based on the RSA key length: 3072-bit keys will use SHA-384, and 4096-bit keys will use SHA-512. This matches similar behavior already present for ECDSA signatures.
Our expectation is that this change will have minimal impact beyond a slight increase to security and better compliance; we're not aware of Kubernetes based environments which support RSA 2048 with SHA-256 but fail with RSA 4096 and SHA-512. However, if you're using larger RSA keys, you should be aware of the change.
Easier Keystore Passwords for PKCS#12 and JKS
Specifying passwords on PKCS#12 and JKS keystores is supported in cert-manager
for compatibility reasons with software which expects or requires passwords to be set; however, these passwords are not relevant to security and never have been in cert-manager.
The initial implementation of the
keystores
feature required these "passwords" to be stored in a Kubernetes secret, which would then be read by cert-manager when creating the keystore after a certificate was issued. This is cumbersome, especially when many passwords are set to default values such aschangeit
orpassword
.In cert-manager v1.17, it's now possible to set a keystore password using a literal string value inside the
Certificate
resource itself, making this process much easier with no change to security.For example:
The new
password
field is mutually exclusive with thepasswordSecretRef
field, so be sure to only set one.Feature Flag Promotions / Deprecations
cert-manager's feature flags allow for easier testing and adoption of new features with a reduced risk of breaking changes. In cert-manager v1.17, two feature gates have been promoted to "beta", and as such are now enabled by default in all installations:
NameConstraints
, allowing users to specify the name constraints extension which can be helpful when creating CA certificates for private PKIUseDomainQualifiedFinalizer
, which stops a Kubernetes warning from being printed in logsIn addition, we added a new feature gate:
CAInjectorMerging
, which intelligently combines certificates used by theCAInjector
component, making it safer to use when issuing certificates are rotated. If you're making heavy use of the CA injector, you should consider enabling this feature gate.Finally, we deprecated the
ValidateCAA
feature gate which will be removed entirely in cert-manager v1.18.0. This feature gate aimed to validate theCAA
DNS record during ACME issuance, but has seen low adoption and limited testing since its introduction back in 2019.Other Changes
There are many other PRs which were merged in this release cycle and we'd encourage you to read the release notes below. One PR that's worth highlighting is a change to add more structured logging information to certain log lines.
If you were previously filtering logs using
grep
or similar tools (which is highly discouraged!) be aware that some log lines have changed format.Community
As always, we'd like to thank all of the community members who helped in this release cycle, including all below who merged a PR and anyone that helped by commenting on issues, testing, or getting involved in cert-manager meetings. We're lucky to have you involved.
A special thanks to:
for their contributions, comments and support!
Also, thanks to the cert-manager maintainer team for their help in this release:
And finally, thanks to the cert-manager steering committee for their feedback in this release cycle:
Changes by Kind
Feature
webhook.extraEnv
allows you to set custom environment variables in the webhook Pod.Helm: New value
cainjector.extraEnv
allows you to set custom environment variables in the cainjector Pod.Helm: New value
startupapicheck.extraEnv
allows you to set custom environment variables in the startupapicheck Pod. (#7317, @wallrj)pki.DecodeX509CertificateSetBytes
is able to parse, to enable reading larger TLS trust bundles (#7464, @SgtCoDFish)UseDomainQualifiedFinalizer
feature to Beta. (#7488, @jsoref)tpl
function on keys and values, to aid with workload identity configuration (#7501, @fcrespofastly)Documentation
--dns01-recursive-nameservers
(#7367, @SgtCoDFish)enableGatewayAPI
in the config example. (#7354, @puerco)Bug or Regression
podDisruptionBudget.minAvailable
andpodDisruptionBudget.maxAvailable
values. (#7343, @inteon)renewBeforePercentage
to comply with its spec (#7421, @adam-sroka)enabled
to be set as a value to toggle cert-manager as a dependency. (#7350, @inteon)Other (Cleanup or Flake)
ValidateCAA
feature gate is now deprecated, with removal scheduled for cert-manager 1.18. In 1.17, enabling this feature gate will print a warning. (#7491, @jsoref)Neither --kubeconfig nor --master was specified
warning message when the controller and the webhook services boot (#7457, @Peac36)v1.16.4
Compare Source
v1.16.3
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
v1.16.3 is a patch release mainly focused around bumping dependencies to address reported CVEs: CVE-2024-45337 and CVE-2024-45338.
We don't believe that cert-manager is actually vulnerable; this release is instead intended to satisfy vulnerability scanners.
It also includes a bug fix to the new
renewBeforePercentage
field. If you were usingrenewBeforePercentage
, see PR #7421 for more information.Changes
Bug
golang.org/x/net
andgolang.org/x/crypto
to address CVE-2024-45337 and CVE-2024-45338 (#7485, @erikgb)renewBeforePercentage
to comply with its spec (#7441, @cert-manager-bot)Other
v1.16.2
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
This patch release of cert-manager 1.16 makes several changes to how PEM input is validated, adding maximum sizes appropriate to the type of PEM data which is being parsed.
This is to prevent an unacceptable slow-down in parsing specially crafted PEM data. The issue was found by Google's OSS-Fuzz project.
The issue is low severity; to exploit the PEM issue would require privileged access which would likely allow Denial-of-Service through other methods.
Note also that since most PEM data parsed by cert-manager comes from
ConfigMap
orSecret
resources which have a max size limit of approximately 1MB, it's difficult to force cert-manager to parse large amounts of PEM data.Further information is available in GHSA-r4pg-vg54-wxx4
In addition, the version of Go used to build cert-manager 1.16 was updated along with the base images.
Changes by Kind
Bug or Regression
Other (Cleanup or Flake)
v1.16.1
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
The cert-manager 1.16 release includes: new Helm chart features, more Prometheus metrics, memory optimizations, and various improvements and bug fixes for the ACME issuer and Venafi Issuer.
📖 Read the complete 1.16 release notes before upgrading.
📜Changes since
v1.16.0
Bug or Regression
@inteon
)podDisruptionBudget.minAvailable
andpodDisruptionBudget.maxAvailable
values. (#7345,@inteon
)enabled
to be set as a value to toggle cert-manager as a dependency. (#7356,@inteon
)v1.16.0
caused cert-manager's ACME ClusterIssuer to look in the wrong namespace for resources required for the issuance (e.g. credential Secrets). This is now fixed inv1.16.1
. (#7342,@inteon
)v1.16.0
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
The cert-manager 1.16 release includes: new Helm chart features, more Prometheus metrics, memory optimizations, and various improvements and bug fixes for the ACME issuer and Venafi Issuer.
📖 Read the complete 1.16 release notes at cert-manager.io.
❗ Breaking changes
📖 Read the complete 1.16 release notes at cert-manager.io.
📜 Changes since v1.15.0
📖 Read the complete 1.16 release notes at cert-manager.io.
Feature
SecretRef
support for Venafi TPP issuer CA Bundle (#7036,@sankalp-at-gh
)renewBeforePercentage
alternative torenewBefore
(#6987,@cbroglie
)@wallrj
)@wallrj
)@joshmue
)@mindw
)app.kubernetes.io/managed-by: cert-manager
label to the cert-manager-webhook-ca Secret (#7154,@jrcichra
)@ThatsMrTalbot
)@Jasper-Ben
)@wallrj
)@wallrj
)AWS_REGION
environment variable.Feature: The Route53 DNS solver of the ACME Issuer now uses the "ambient" region (
AWS_REGION
orAWS_DEFAULT_REGION
) ifissuer.spec.acme.solvers.dns01.route53.region
is empty; regardless of the flags--issuer-ambient-credentials
and--cluster-issuer-ambient-credentials
. (#7299,@wallrj
)@inteon
)--controllers
flag only specifies disabled controllers, the default controllers are now enabled implicitly.Added
disableAutoApproval
andapproveSignerNames
Helm chart options. (#7049,@inteon
)config.apiVersion
andconfig.kind
within the Helm chart. (#7126,@ThatsMrTalbot
)@Guitarkalle
)cainjector
, by only caching the metadata of Secret resources.Reduce the load on the K8S API server when
cainjector
starts up, by only listing the metadata of Secret resources. (#7161,@wallrj
)AWS_REGION
andAWS_DEFAULT_REGION
environment variables, which is set by the IAM for Service Accounts (IRSA) webhook and by the Pod Identity webhook.The
issuer.spec.acme.solvers.dns01.route53.region
field is now optional.The API documentation of the
region
field has been updated to explain when and how the region value is used. (#7287,@wallrj
)Breaking: cert-manager will no longer use the API Key authentication method which was deprecated in 20.2 and since removed in 24.1 of TPP. (#7084,
@hawksight
)@aidy
)webhook.extraEnv
, allows you to set custom environment variables in the webhook Pod.Helm: New value
cainjector.extraEnv
, allows you to set custom environment variables in the cainjector Pod.Helm: New value
startupapicheck.extraEnv
, allows you to set custom environment variables in the startupapicheck Pod. (#7319,@wallrj
)Bug or Regression
metadata.finalizers: "finalizer.acme.cert-manager.io": prefer a domain-qualified finalizer name to avoid accidental conflicts with other finalizer writers
(#7273,@jsoref
)aws-global
STS region which is now required by thegithub.com/aws/aws-sdk-go-v2
library. (#7108,@inteon
)@inteon
)@inteon
)@wallrj
)@wallrj
)grpc-go
to fixGHSA-xr7q-jx4m-x55m
(#7164,@SgtCoDFish
)go-retryablehttp
dependency to fixCVE-2024-6104
(#7125,@SgtCoDFish
)@eplightning
)endpointAdditionalProperties
in thePodMonitor
template of the Helm chart (#7190,@wallrj
)@miguelvr
)@bdols
)@inteon
)@inteon
)KeyUsages
X.509 extension is no longer added when there are no key usages set (in accordance to RFC 5280 Section 4.2.1.3) (#7250,@inteon
)github.com/Azure/azure-sdk-for-go/sdk/azidentity
to addressCVE-2024-35255
(#7087,@dependabot[bot]
)Other (Cleanup or Flake)
Removed:
(acme.)cert-manager.io/v1alpha2
(acme.)cert-manager.io/v1alpha3
(acme.)cert-manager.io/v1beta1 (#7278,
@inteon
)v0.31.0
removes a lot of noisyreflector.go: unable to sync list result: internal error: cannot cast object DeletedFinalStateUnknown
errors from logs. (#7237,@inteon
)v1.23.2
(#7324,@cert-manager-bot
)v1.15.5
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager v1.15.5 contains simple dependency bumps to address reported CVEs (CVE-2024-45337 and CVE-2024-45338).
We don't believe that cert-manager is actually vulnerable; this release is instead intended to satisfy vulnerability scanners.
Changes
Bug or Regression
Other (Cleanup or Flake)
v1.15.4
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
This patch release of cert-manager 1.15 makes several changes to how PEM input is validated, adding maximum sizes appropriate to the type of PEM data which is being parsed.
This is to prevent an unacceptable slow-down in parsing specially crafted PEM data. The issue was found by Google's OSS-Fuzz project.
The issue is low severity; to exploit the PEM issue would require privileged access which would likely allow Denial-of-Service through other methods.
Note also that since most PEM data parsed by cert-manager comes from
ConfigMap
orSecret
resources which have a max size limit of approximately 1MB, it's difficult to force cert-manager to parse large amounts of PEM data.Further information is available in GHSA-r4pg-vg54-wxx4
In addition, the version of Go used to build cert-manager 1.15 was updated along with the base images, and a Route53 bug fix was backported.
Changes by Kind
Bug or Regression
Other (Cleanup or Flake)
v1.15.3
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
🔗 See v1.15.0 for more information about cert-manager 1.15 and read-before-upgrade info.
📜 Changes since
v1.15.2
Bug or Regression
v1.15.2
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
🔗 See v1.15.0 for more information about cert-manager 1.15 and read-before-upgrade info.
📜 Changes since
v1.15.1
Bug or Regression
route53
: explicitly set theaws-global
STS region which is now required by thegithub.com/aws/aws-sdk-go-v2
library. (#7189,@cert-manager-bot
)grpc-go
to fixGHSA-xr7q-jx4m-x55m
(#7167,@SgtCoDFish
)@cert-manager-bot
)endpointAdditionalProperties
in thePodMonitor
template of the Helm chart (#7191,@inteon
)HTTPRoute
resources (#7186,@cert-manager-bot
)golang
from1.22.3
to1.22.5
(#7165,@github-actions
)v1.15.1
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
🔗 See v1.15.0 for more information about cert-manager 1.15 and read-before-upgrade info.
📜 Changes since v1.15.0
Bug or Regression
Other (Cleanup or Flake)
v1.15.0
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager 1.15 promotes several features to beta, including GatewayAPI support (
ExperimentalGatewayAPISupport
), the ability to provide a subject in the Certificate that will be used literally in the CertificateSigningRequest (LiteralCertificateSubject
) and the outputting of additional certificate formats (AdditionalCertificateOutputFormats
).Community
Thanks again to all open-source contributors with commits in this release, including: @Pionerd, @SgtCoDFish, @ThatsMrTalbot, @andrey-dubnik, @bwaldrep, @eplightning, @erikgb, @findnature, @gplessis, @import-shiburin, @inteon, @jkroepke, @lunarwhite, @mangeshhambarde, @pwhitehead-splunk & @rodrigorfk, @wallrj.
Thanks also to the following cert-manager maintainers for their contributions during this release: @SgtCoDFish, @SpectralHiss, @ThatsMrTalbot, @hawksight, @inteon, @maelvls & @wallrj.
Equally thanks to everyone who provided feedback, helped users and raised issues on GitHub and Slack and joined our meetings!
Thanks also to the CNCF, which provides resources and support, and to the AWS open source team for being good community members and for their maintenance of the PrivateCA Issuer.
In addition, massive thanks to Venafi for contributing developer time and resources towards the continued maintenance of cert-manager projects.
Changes by Kind
Feature
--enable-gateway-api
flag to enable the integration. (#6961, @ThatsMrTalbot)For example:
cert-manager-certificaterequests-issuer-venafi/v1.15.0+(linux/amd64)+cert-manager/ef068a59008f6ed919b98a7177921ddc9e297200
. (#6865, @wallrj)LiteralCertificateSubject
feature to Beta. (#7030, @inteon)extraObjects
; a list of yaml manifests which will helm will install and uninstall with the cert-manager manifests. (#6424, @gplessis)cert-manager.io/allow-direct-injection
in annotations (#6801, @jkroepke)Design
Bug or Regression
preferredChain
is configured. (#6755, @import-shiburin)disableAutoApproval
andapproveSignerNames
Helm chart options. (#7054, @inteon)Other (Cleanup or Flake)
crds.keep
andcrds.enabled
Helm options can now be used instead of theinstallCRDs
option. (#6760, @inteon)slices
andk8s.io/apimachinery/pkg/util
packages.Removed deprecated CSR functions which have been replaced with other functions in the
pkg/util/pki
package. (#6730, @inteon)cmctl
andkubectl cert-manger
have been moved to the https://github.com/cert-manager/cmctl repo and will be versioned separately starting with cmctl v2.0.0 (#6663, @inteon)pkg/util/pki/ParseSubjectStringToRawDERBytes
function. (#6994, @inteon)--controllers
flag only specifies disabled controllers, the default controllers are now enabled implicitly. (#7054, @inteon)GO-2024-2824
. (#6996, @github-actions[bot])v1.14.7
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
📜 Changes since v1.14.6
Bugfixes
Other (Cleanup or Flake)
v1.14.6
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
📜 Changes since v1.14.5
Other (Cleanup or Flake)
v1.14.5
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
v1.14.5
fixes a bug in the DigitalOcean DNS-01 provider which could cause incorrect DNS records to be deleted when using a domain with a CNAME. Special thanks to @BobyMCbobs for reporting this issue and testing the fix!It also patches CVE-2023-45288.
📜 Changes since v1.14.4
preferredChain
is configured: see 1.14 release notes for more information.Changes
Bug or Regression
v1.14.4
Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: suppo
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.